﻿using System;
using UnityEngine.EventSystems;

namespace UnityEngine.UI
{
	// Token: 0x0200066F RID: 1647
	public abstract class RepeatButton : SelectUI, IPointerDownHandler, IEventSystemHandler, IPointerUpHandler
	{
		// Token: 0x060026FC RID: 9980
		public abstract void Process(bool push);

		// Token: 0x060026FD RID: 9981 RVA: 0x0014A3E8 File Offset: 0x001485E8
		public void OnPointerDown(PointerEventData eventData)
		{
			this.push = true;
		}

		// Token: 0x060026FE RID: 9982 RVA: 0x0014A3F4 File Offset: 0x001485F4
		public void OnPointerUp(PointerEventData eventData)
		{
			this.push = false;
		}

		// Token: 0x060026FF RID: 9983 RVA: 0x0014A400 File Offset: 0x00148600
		public virtual void Awake()
		{
			this.push = false;
		}

		// Token: 0x06002700 RID: 9984 RVA: 0x0014A40C File Offset: 0x0014860C
		public void Update()
		{
			this.Process(this.push);
		}

		// Token: 0x06002701 RID: 9985 RVA: 0x0014A41C File Offset: 0x0014861C
		public override void OnDisable()
		{
			base.OnDisable();
			this.push = false;
		}

		// Token: 0x04002DF5 RID: 11765
		public bool push;
	}
}
